home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 176-200 / scopedisk199 / landscape / landscape.doc < prev    next >
Text File  |  1995-03-19  |  38KB  |  623 lines

  1.                          Documentation For LandScape
  2.                          ===========================
  3.  
  4.     This is the user documentation for LandScape.
  5.     LandScape  is  a  sort  of poor-mans CAD (Computer Aided Design) program
  6. that  allows you to design (landscape) a garden. It consists of two parts: a
  7. design  module,  where  you lay out the design of your garden (using a small
  8. selection  of plants, and other garden objects), and a drawing module, which
  9. takes the design, and draws a stylised 3D version from any viewpoint of what
  10. the garden would look like in real life.
  11.  
  12. The LandScape distribution consists of the following files:
  13.  
  14.     -    LandScape.docs           What you are reading now.
  15.     -    LandScape.release_notes  Release notes for this and previous
  16.                                   versions.
  17.     -    LandScape                The executable code
  18.     -    arp.library              (In case you don't already have it)
  19.  
  20.     There are also icons for the first 3 files.
  21.  
  22.     This documentation assumes you have a small amount of knowledge on using
  23. your  Amiga.  In  particular, how to click on things (left mouse button) and
  24. how  to  select  items  from menus (right mouse button). In order to set the
  25. program up the very first time, you may have to use the CLI.
  26.  
  27.                                   CONTENTS
  28.                                   ========
  29.  
  30.     1)   Obligatory legalese      (what you can do!)
  31.     2)   Why?                     (why write a gardening program?)
  32.     3)   How?                     (example session to get you started)
  33.     4)   Where?                   (a tour of menus and facilities available)
  34.     5)   Hints and Tips
  35.     6)   What's next?             (plans for future versions)
  36.     7)   Technical stuff
  37.  
  38.                            1 - Obligatory Legalese
  39.                            =======================
  40.  
  41.     There  are  many different names for software (PD, freely distributable,
  42. shareware,  etc)  and  I can never remember what they all mean. Therefore, I
  43. will just describe what you can do to this program.
  44.     Although  I  retain  copyright to all source code written by me, you can
  45. copy this distribution as much as you like, and give it to whoever you want.
  46. (note  that  arp.library is part of the AmigaDOS Replacement Project, and is
  47. subject  to  their distribution restrictions) The executable, documentation,
  48. and release notes should be kept together, but you can modify/get rid of the
  49. icons  if  you  don't like them. You should not charge for, or have paid any
  50. money for this program, other than reasonable media costs (such as requested
  51. by   Fred   Fish   and   other  reputable  libraries).  The  executable  and
  52. documentation may be compressed (using a powerpacker-type program) if you so
  53. desire. I hope that isn't too restrictive!
  54.  
  55.     This  program  is supplied 'as is'. No warranty or guarantee of any sort
  56. is  implied.  I  am not responsible for any damage whatsoever that may arise
  57. from using this program.
  58.  
  59.                                   2 - Why?
  60.                                   ========
  61.  
  62.     The  idea  for a landscape program came from several sources. Firstly, I
  63. like 3D graphics/fractals, etc, but had never written any programs of my own
  64. in  this area. For myself, then I wanted to try out a few ideas. Secondly, I
  65. wanted  something  to  model  the  real  world.  Real world modeling makes a
  66. program  accessible  to more people, as it is easier to follow what is going
  67. on.  Thirdly,  I  was  lent  a  catalogue  from  a "well-known garden paving
  68. manufacturer".  In  it,  a  landscape  designer  had  drawn plans of various
  69. gardens,  and  then  drawn  the  garden as it would look in 3D. I thought "I
  70. wonder if a computer could do that?".
  71.     The LandScape program is the result of these musings. It is not meant to
  72. be a full-blown CAD program, as these tend to be difficult to use for people
  73. without  a technical background. What I have tried to do, is to take some of
  74. the  ideas  of  CAD  (although  I have never used a CAD package myself), and
  75. pitched them at a more intuitive level (hopefully).
  76.     Now  then,  as  any  programmer will tell you, programs are never really
  77. finished.  This  version  of LandScape has been deliberately limited in many
  78. respects  in  the interests of getting something released. If I didn't do it
  79. this  way,  then  I'd always be adding bits here and there, and no-one would
  80. get to see what I had done. I have some ideas about the things that have yet
  81. to  be  added  (see  section 6), but would always be interested in any ideas
  82. that  you may have, or things that you think a program of this type ought to
  83. be able to do.
  84.  
  85.                                   3 - How?
  86.                                   ========
  87.  
  88.     As  the best way to learn is by doing, this section presents in tutorial
  89. form  a  typical  session.  It shows you how to use some of the features the
  90. program   offers.   As   with   anything,   there   is   no  substitute  for
  91. experimentation,  so  if anything looks a bit confusing, do not be afraid to
  92. try  it out a few times. Unfortunately there is some duplication between the
  93. information  presented in this section, and the more detailed information in
  94. section 4.
  95.     An important thing  to remember is that this is a reasonably complicated
  96. program, and  you are advised to use it  experimentally,  to get a  feel for
  97. what  it is going to do, before diving in with anything complicated.  If you
  98. just switch on,  skim through the  docs saying "Yup,  that looks  easy", and
  99. then proceed to try and enter an entry for the Chelsea flower  show, you may
  100. well come unstuck!
  101.  
  102. 3.1 Setting Up
  103.  
  104.     Sorry  to  start with a boring bit, but there is a small amount of stuff
  105. you  have  to  set  up  before  using LandScape. It only has to be done once
  106. (unless  you  change  your  workbench  disks).  In  order  to work, the file
  107. arp.library  has  to  be  installed  into  your LIBS: directory. If you have
  108. installed the ARP command set, or another program that used arp.library then
  109. this  will  already  have  been done. If, this is not the case, however, you
  110. will  have to copy the file across yourself. This can be done either through
  111. the  CLI and the COPY command, or by using one of the mouse-driven directory
  112. utilities (such as SID) which are quite popular.
  113.     If  really  have  no idea about how to do this, I would suggest that you
  114. seek  help  from  a friend/neighbour/dealer/user group. I could have given a
  115. step-by-step  description  here on how to do it, but since I do not know the
  116. exact  setup  of  the  disk  this  program has been supplied on, there would
  117. always be the risk of it not working.
  118.  
  119. 3.2 Scaling
  120.  
  121.     OK,  lets assume that the setup has been completed. You can now click on
  122. the  LandScape  icon (or type the program name from the CLI, if you prefer).
  123. The  program  will  come up with a blank screen. The black area is where you
  124. draw the garden plan.
  125.     IMPORTANT NOTE: It is likely that when you see the scaling requester pop
  126. up, you  will  just thump the 'OK'  gadget, and  start planting.  Unless the
  127. default scaling is correct,  RESIST THIS TEMPTATION. If you take the default
  128. scales, you are telling the program that  your garden is 6.4 metres long. If
  129. you  then plonk a  medium-sized tree  (5 metres tall)  in the middle  of it,
  130. there will not be much space left for anything else.
  131.     The  first  thing  to  do is to lay out the garden boundary. To do this,
  132. select  'boundary'  from the edit menu. You cannot do anything useful, until
  133. you have defined some sort of boundary. Now then, a requester pops up asking
  134. you to set the screen dimensions. This is necessary, as when you are drawing
  135. the  garden,  the computer needs to know how big it is in real life. The two
  136. numbers  show  how  big  the  black  drawing  area is on the ground. It will
  137. default  to 640 cms across the screen. If this is too big, or too small, you
  138. can  click  on the up/down arrows to change it. Alternatively, you can click
  139. on  one  of  the  numbers, use the delete keys to get rid of the old number,
  140. then  type  in  a  new number and press return. You will notice that the two
  141. numbers  are  linked,  so that if you change one, the other changes as well.
  142. This  is  because the scaling affects the whole drawing area. You cannot set
  143. different X and Y scales.
  144.     When  you  are  satisfied, click on 'OK'. This cursor will change into a
  145. crosshair.  If  you  move  it  around a bit, you will see a distance readout
  146. appear  in  the  top right hand of the title bar. The crosshair cursor means
  147. that  you  are drawing an area object. If you click the left mouse button, a
  148. white  dot  appears. Moving the mouse now will cause the distance readout to
  149. show  how  far away you are from the dot. If you click the left mouse button
  150. again,  a  white  line  will  be  drawn  from  the first dot, to the current
  151. position.  You  can  go  on in this way, clicking the left mouse button, and
  152. drawing  lines  from  the  last  clicked point to the current one, drawing a
  153. boundary  to  be  any  shape  you like. In order to stop drawing, just click
  154. reasonably  close  (within  5  pixels)  of  the first point on the boundary.
  155. LandScape  will  close  the  boundary,  and  change  the pointer back to its
  156. familiar shape.  An area object has a limit of about 250 points on each area
  157. object, so don't go too mad.
  158.     Note  that  the boundary doesn't actually do anything as such. It is not
  159. drawn  in  the final picture, and the program will allow you to draw outside
  160. of it. However, you are strongly advised not to do this.
  161.  
  162. 3.3 Area Objects
  163.  
  164.     Now that the boundary has been defined, we can draw the rest of the area
  165. objects.  Currently, these consist of lawns, earth, and footpaths. These are
  166. all  drawn  in exactly the same way as the boundary, you just select the one
  167. you want. You must, however remember the following points: LandScape sets up
  168. the garden in much the same way as a real garden. i.e., you start with a big
  169. patch  of  mud,  then plant lawns, and lay footpaths. This means that if you
  170. plan  a garden with a patch of earth, a lawn, and a footpath all in the same
  171. place, the program will draw the earth first, followed by the lawn (covering
  172. the earth), followed by the footpath (covering both of them).
  173.     The  only  time this causes problems, is if you want something different
  174. from  this  scheme  of  things, such as a patch of earth (flower bed) in the
  175. middle  of a lawn. See the hints and tips section (section 5) for how to get
  176. around this.
  177.     Incidentally,  all area objects are colour coded so that you know what's
  178. what.  The  boundary is white, earth is drawn as brown, lawns are green, and
  179. footpaths are grey. Fairly predictable really.
  180.  
  181. 3.4 Plants
  182.  
  183.     Now,  we  have set up our lawns, footpaths and flower beds, it's time to
  184. get  planting!  It doesn't really matter when you lay the plants out (before
  185. or  after the area objects) as they push through and are always drawn on the
  186. top  of  all  area  objects. It makes more sense, however to draw the plants
  187. last. The program will also let you plant things on the footpath.
  188.     First  of  all,  you  have  to  decide what to plant. To do this, select
  189. 'plant'  from  the  edit  menu. A requester will appear with a  selection of
  190. plant  groups  on  it. The groups ( the 3 boxes across the middle) represent
  191. trees,  non-flowering plants, and flowering plants. The current selection is
  192. highlighted  in  red. If you click on one of the plant group boxes, a second
  193. set of boxes will appear towards the bottom of the requester, containing the
  194. plants  available  in  that  group. You just click on the plant you want (so
  195. that it becomes highlighted). I won't list all the plants available, as this
  196. is  just a tutorial. (see section 4 if you are desperately interested). Note
  197. that  you can only pick one plant at a time (obviously), but if you click on
  198. the flowering plants group, you can pick a flower AND a colour.
  199.     Now if you click on 'OK', the cursor turns into a symbol of whatever you
  200. have  chosen,  and  you can go around the garden plan 'planting' it with the
  201. left  mouse button. As you do this, a little plant symbol will appear on the
  202. plan.  Note  that the symbols are fairly simple, and do not show the size of
  203. the plants.
  204.  
  205. 3.5 Picking a viewpoint
  206.  
  207.     OK,  now  we've got a garden full of plants, all ready to draw. The most
  208. important  thing  to  do  is  to  save what you've done so far. Ideally, you
  209. should  save  what you've done every 15 minutes or so, that way if something
  210. goes  wrong, you haven't lost too much work. Once you have told LandScape to
  211. draw  the  garden, you will not be able to save the garden plan. If you look
  212. at  save under the project menu, you will see that you can save in two ways:
  213. IFF or data. IFF means that the garden plan is saved in a way that allows it
  214. to  be  loaded  in  DeluxePaint,  or  any other IFF compatible paint/viewing
  215. program.  A  garden  plan saved as IFF can NOT be read back in again. If you
  216. want  to  be  able  to read the garden plan back in again, then it has to be
  217. saved  as  data. Whichever one you pick, you will get a file requester which
  218. you  fill  in to tell the program where to save the information, and what to
  219. call it.
  220.     Anyway, once the garden plan has been saved, the drawing can start. This
  221. is done by selecting draw from the draw menu. Be warned that once the garden
  222. has  started  drawing,  you  cannot get back to the plan without exiting the
  223. program, starting it up again, and loading the plan back in.
  224.     When  you select 'draw', the screen will clear, and the boundary will be
  225. drawn on its own (no plants/lawns, etc). The pointer will turn into a cross.
  226. LandScape is waiting for you to tell it what part of the garden  you want to
  227. look at. This  means that  no matter what  direction you move  your eyes to,
  228. your eyes will always  look at this  point (and it will appear in the middle
  229. of the screen). For most cases, the 'look at' point will be in the middle of
  230. the garden, so for the time  being, move the cursor to the  middle and press
  231. the left mouse button.
  232.     The screen will clear again, and the boundary will be re-drawn, with the
  233. chosen  'look at' point in the middle of the screen. The first coordinate of
  234. the boundary has a red square drawn around it (so that you can keep track of
  235. where  you  are, if you garden is a regular shape). It is now time to pick a
  236. viewpoint. For those who are familiar with 3D rotation, this is a breeze. If
  237. you  are  not  so  familiar  with this concept I will try to explain what is
  238. happening.
  239.     At  the  top  left  of the screen, you will see some boxes. You click on
  240. these  boxes  to  move your viewpoint around. Your movement can be up, down,
  241. left, right, zoom in, or zoom out. You start off vertically above the garden
  242. looking straight down.
  243.     The  key  point is that all movement is radial (polar coordinates). This
  244. means  that  you are at a fixed distance from the 'look at' point. For those
  245. unfamiliar  with polar coordinates, it is quite difficult to explain without
  246. a  few  pictures,  and  so  there  really  is no substitute for clicking the
  247. buttons  and  seeing what happens. If I were forced to try and explain it, I
  248. would  say it is rather like climbing around on the outside of a giant glass
  249. pudding basin placed over the garden.
  250.     No  matter  where  you  move  to, LandScape will make sure the 'look at'
  251. point  is  at  the  centre  of  the  screen.  You  cannot move the viewpoint
  252. underground, or take it past vertical.
  253.     Once  you are happy with the viewpoint, click on the 'quit' box, and the
  254. garden  will  be  drawn from that viewpoint. This takes quite a few minutes,
  255. but the 'drawing in progress...' title will disappear when this is done.
  256.     Be warned that the drawing CAN TAKE A LONG TIME. There is a lot of maths
  257. involved with working out the plants, and although there is a lot that could
  258. be done to speed things up, that is for another version.  You are better off
  259. starting  off with  fairly simple gardens to  start off with,  with not very
  260. many plants in until you work out what to expect.
  261.     When  the  drawing has completed, a new menu will exist in the menu bar.
  262. The only thing you can really do is to save the garden as an IFF file, ready
  263. to  be  loaded  into  your  favourite paint program for printing out, or for
  264. making  any  small changes you feel are necessary. Otherwise, you can select
  265. 'quit', and the program will end.
  266.  
  267.                                  4 - Where?
  268.                                  ==========
  269.  
  270.     LandScape  consists of two largely independent parts. The editor module,
  271. and  the drawing module. When starting the program, you are using the editor
  272. module.  Instructing LandScape to draw a plan automatically transfers you to
  273. the drawing module. Each module is described below, and has different menus.
  274.  
  275. Editor Module.
  276.  
  277.     The  editor  module  is  used for entering a plan of the garden when the
  278. program  is  first  started.  LandScape  can  be  started  from  either  the
  279. workbench,  or  the  CLI.  There is, however a subtle difference if anything
  280. goes  wrong. A CLI launched program will print a error message on the CLI if
  281. a  problem  is  detected.  The workbench launched version will just beep and
  282. flash  the  screen.  In  either  case  the program may or may not terminate,
  283. depending on the severity of the problem.
  284.     The  editor  module  contains  the  following  menu items: (Note that in
  285. common  with  all  Amiga programs, many of the menu selections have keyboard
  286. shortcuts. These are useful for speeding up use of the program once you have
  287. the  hang of how it works. The shortcuts can be seen by pulling a menu down.
  288. On  the  right  of some of the selections is a funny letter A, followed by a
  289. letter.  This  means  that you can select this menu item by holding down the
  290. right Amiga key while pressing that letter.
  291.     The project menu contains the following items:
  292.  
  293. -   About  (right  amiga  A): Just a quick note on how to contact me, should
  294. you wish to do so.
  295.  
  296. -   New  (right  amiga  N):  This empties out everything in memory, ready to
  297. type in a new garden plan. This does not have to be done when the program is
  298. started.  Remember that if you select this, any plan typed in so far WILL BE
  299. LOST, so make sure you either intend to get rid of it, or save it first.
  300.  
  301. -   Open.  (right  amiga  O):  This allows a garden plan that was previously
  302. saved to disk (as data) to be read in. You cannot open a new garden while in
  303. the  middle  of editing an old one. You must first get rid of the old one by
  304. selecting 'new'.
  305.  
  306. -   Save  (IFF/data):  This  allows  a  garden plan to be saved to disk. for
  307. later  retrieval.  Data  can  be  saved in the standard Amiga IFF format for
  308. loading into a paint/view program. A garden plan saved in this way cannot be
  309. loaded  back into LandScape at a later date. The second way for a plan to be
  310. saved  is  as  a  data file.  This stores the plan information in LandScapes
  311. very own custom personalised file format, which can be read back in later by
  312. the program using 'open'.
  313.  
  314. -   What is  (right amiga W): This option puts  up a requester with a little
  315. bit  of  information  about the currently selected object. (see 'select' for
  316. how  to  select  an  object) Currently, different sized plants are all drawn
  317. with  the  same symbol, and this is the only way of finding out how big they
  318. are. Click on OK when you have finished reading.
  319.  
  320. -   Select Item (right amiga S): Selecting something  in the  garden singles
  321. out that object from the others. On its own, it doesn't do much, however the
  322. 'delete' and 'what is' menu  functions  only work on  things that  have been
  323. selected. Anything in the garden  can be selected,  and when you choose this
  324. menu  option, the cursor turns  into a question mark with an arrow. You then
  325. move the arrow to the  item you want to  select, and  click on it.  The item
  326. will turn  red, to show that  it is selected. To unselect it, just click the
  327. left mouse button again. If you are selecting a plant,  click on the base of
  328. its trunk/stalk.  If you want to click  on an area object, you have to click
  329. on one of its corners,  NOT  an  edge. The select function 'homes in' on the
  330. nearest  selectable  object,  so  if  you  click  the mouse in the middle of
  331. nowhere,  the nearest item will be selected, even if it is on the other side
  332. of the screen.
  333.  
  334. -   Delete  Item:  This gets rid of (I suppose you could say 'digs up'!) the
  335. currently  selected  item.  Use  this  carefully,  as  once you have deleted
  336. something, you can't get it back.
  337.  
  338. -   Quit  (right  amiga  Q)  This  quits  the program and returns you to the
  339. workbench screen.
  340.  
  341.     The edit menu contains the following items:
  342.  
  343. -   Boundary  (right  amiga B) When the program is started, this is the only
  344. item  in  this  menu that can be selected. Once the boundary has been drawn,
  345. the  other menu items become available, and no more boundaries can be drawn.
  346. The  boundary is an area object, and is drawn in white. All area objects are
  347. drawn  in  the same way, the cursor turns into a cross hair, and by clicking
  348. on  the left mouse button, the area can be traced out. The area is closed by
  349. clicking  reasonably  close  (within  5  pixels) of the starting point. When
  350. placing  the  first  point,  the  coordinates  in the right of the title bar
  351. should  the  distance  on  the  ground  from the top left hand corner of the
  352. drawing  area.  For  subsequent  points,  the  coordinates show the relative
  353. distance on the ground to the previous point. There is a limit of around 250
  354. points allowed on an area object, which should be enough.
  355.     The boundary differs slightly from the other area objects in that before
  356. it  can be drawn, you have to set the screen scale on the scaling requester.
  357. This  is  fairly  self  explanatory,  you  just  tell  the  program how many
  358. centimetres on the ground each pixel on the screen represents.
  359.  
  360. -   Lawn  (right  amiga L) This allows a lawn to be laid out. This is pretty
  361. much  the  same as laying out the boundary. A lawn is an area object, and is
  362. drawn in green. Remember that when the final drawing is done, the lawns will
  363. be drawn overlaying any earth, but underneath any footpaths.
  364.  
  365. -   Footpath  (right  amiga  F)  This  allows  a  footpath to be laid out. A
  366. footpath  is  an  area object, and is drawn in the same way as all the other
  367. area  object.  Footpaths  are  drawn  in  grey.  During  the  final drawing,
  368. footpaths  are  drawn  on  top  of  all  other  area objects (but underneath
  369. plants).
  370.  
  371. -   Earth (right amiga E) This allows a patch of earth to be drawn. Earth is
  372. an  area  object,  and  is  drawn in the same way as any other area objects.
  373. Earth  is  drawn  in  brown.  During  the final drawing, earth will be drawn
  374. underneath  all other area objects, so if you want a flowerbed in the middle
  375. of  a lawn, you have to leave a hole in the lawn. See the hints/tips section
  376. for more information.
  377.  
  378. -   Plants  (right  amiga  P) This allows you to populate your garden with a
  379. selection of different plants. Be aware that the plants at the drawing stage
  380. are  fairly  stylised,  and  aren't  meant to look 100% like the real thing.
  381. Still  they  are  approximately the right shape, and approximately the right
  382. colour.  Currently  there  is  only a small selection of plants available. I
  383. hope they are enough to do the job.
  384.     Upon  selecting  the plant menu item, you are presented with a requester
  385. asking what type of plant you want. The requester lists three plant groups -
  386. trees,  non-flowering  plants,  and flowering plants. The currently selected
  387. group  is  highlighted  in red, and as you select each group, a selection of
  388. plants in that group appears in the second set of boxes at the bottom of the
  389. requester.  Once  you select the plant you want, (note that when selecting a
  390. flower,  you  also have to choose a colour) you click on OK, and the pointer
  391. turns  into  a mobile version of whatever plant group you have selected. You
  392. can move this pointer around the garden, and 'plant' it by clicking the left
  393. mouse  button.  The  selected  plant remains active, and you can continue to
  394. plant it around the garden, without having to re-select it. Available plants
  395. are:
  396.     Trees can be:
  397.                    dwarf deciduous tree   (approx 1 metre tall)
  398.                    small deciduous tree   (approx 2 metres tall)
  399.                    medium deciduous tree  (approx 5 metres tall)
  400.                    dwarf fir tree         (approx 1 metre tall)
  401.                    small fir tree         (approx 2 metres tall)
  402.                    medium fir tree        (approx 5 metres tall)
  403.  
  404.     Non-flowering plants can be:
  405.                    small plant            (approx 10 cms tall)
  406.                    medium plant           (approx 60 cms tall)
  407.                    large plant            (approx 150 cms tall)
  408.                    small hedge element    (approx 75 cms tall)
  409.                    medium hedge element   (approx 150 cms tall)
  410.  
  411.     Flowering plants can be:
  412.                    small flower           (approx 10 cms tall)
  413.                    medium flower          (approx 60 cms tall)
  414.                    rose bush              (approx 60 cms tall)
  415.  
  416.     (Any   flowering   plant   can   be   red,   orange,  yellow,  blue,  or
  417. multi-coloured)
  418. Multi-coloured  means  each  flower  is  picked  randomly to be red, orange,
  419. yellow, or blue. You cannot have several colours on the same bloom.
  420.  
  421.     The draw menu contains the following item:
  422.  
  423. -   Draw  garden  (right  amiga  D)  This  is the biggy. LandScape takes the
  424. garden  plan  you  have  designed, and passes it to the drawing module. Make
  425. sure  you  have saved the garden plan, as once you start drawing, you cannot
  426. get back to the editor module.
  427.  
  428.     The  first thing the drawing module sorts out is the position the garden
  429. is  to  be  viewed  from.  To  this effect, the boundary is drawn with a red
  430. square  around  the  first  coordinate  (this  is  in case you have a square
  431. garden, and lose track of how much you rotated it!). You are then invited to
  432. click  on  the  'look at' or viewed point. This is the point about which the
  433. garden will be rotated, and will be drawn at approximately the middle of the
  434. screen.  Normally, the viewed point will be at the middle of the garden, but
  435. by  varying  the positions of the viewed point and the view point (described
  436. in  a  moment),  a good range of different views can be obtained. The viewed
  437. point  is  selected by clicking the crosshair cursor on the appropriate part
  438. of  the  plan.  The  boundary  will be re-drawn with the viewed point at the
  439. centre  of  the  screen. From this point onwards, the program will not allow
  440. the boundary to go off the sides of the screen, and any time the boundary is
  441. moved  in  such  a  way  as  to  cause  this  to  happen,  the  program will
  442. automatically  zoom  the  viewpoint  outwards, until the boundary has shrunk
  443. enough  to  fit.  A group of boxes at the top left of the screen control the
  444. movement  of  the  viewpoint.  They allow movement up, down, left, right, as
  445. well  as  zoom  in  and zoom out. The movement is based on polar coordinates
  446. with  origin  at  the  viewed  point,  so  up/down  are  variations in polar
  447. elevation and left/right are variations in polar azimuth. These all maintain
  448. a  constant  radial  distance from the 'look at' point. The zoom in and zoom
  449. out  boxes  alter the radial distance from the 'look at' point, but maintain
  450. the same polar angles.
  451.     At  all  times, the 'look at' point remains at the centre of the screen.
  452. The  angles  change  in  ten degree increments, and the radial distance also
  453. changes  in  increments  of  ten.  As  the viewpoint is changed by using the
  454. boxes, the boundary is constantly re-drawn with perspective to show what the
  455. boundary would look like if viewed from that position
  456.     Although  there is no limit azimuth, the elevation is limited to be zero
  457. degrees  and  ninety  degrees  (i.e.  you  cannot go underground or over the
  458. zenith).  In addition to this, the zoom in will not let you get too close to
  459. the  garden, or zoom in so that the boundary extends of the screen. Once the
  460. viewpoint  has been satisfactorily selected, click on the quit 'box' and the
  461. drawing will commence.
  462.     There  is  really  not much to say about the drawing process. All plants
  463. are rendered mathematically, so I hope they look reasonably lifelike, but do
  464. not  expect  a  Rembrandt!.  The  'drawing  in  progress...' message will be
  465. removed  from  the title bar when drawing is finished, so it's just a matter
  466. of  sitting around and waiting. Of course, you can always switch back to the
  467. workbench and do something else (isn't multi-tasking wonderful!)
  468.     When  drawing  is completed, a new menu bar will have appeared. There is
  469. only  a  project  menu,  and even this only has two options. The first is to
  470. quit  the  program,  and  the  second is to save the drawn picture as an IFF
  471. file.
  472.     Incidentally, throughout drawing, a set of coordinates are  displayed in
  473. the right  hand of the  title bar.  These show the  position of the  current
  474. viewpoint  in  polar  coordinates.  't1'  (t stands  for  theta) is  angular
  475. azimuth, 't2'  is  angular  elevation,  and  'r'  is  radius  (distance from
  476. origin).
  477.  
  478.                              5 - Hints and Tips
  479.                              ==================
  480.  
  481. 1)  Drawing complicated areas.
  482.     If  you want to define an area object (such as a lawn), it is not always
  483. best  to define it as one large complicated shape. Sometimes you may find it
  484. easier to split it up into several smaller, simpler shapes.
  485.  
  486. 2)  Overlapping areas.
  487.     Do  not  worry about area objects overlapping each other. If the objects
  488. are  of  different  types,  one  will overdraw the other, according to their
  489. relative  priorities.  If  the  area objects are both of the same type, they
  490. will merge together and look like one in the final picture.
  491.  
  492. 3)  Area priorities.
  493.     It  is not directly possible to defeat the area object drawing priority.
  494. At  first  sight, this makes it difficult to get something like a flower bed
  495. in the middle of a lawn. The best way (although by no means the only way) is
  496. to draw one large patch of earth first as filling the whole garden, and then
  497. draw  the  lawn  as two adjoining sections, each with half of the flower bed
  498. cut out of it, leaving a 'hole' where the earth shows through.
  499.  
  500. 4)  Circular Areas.
  501.     As  you  have  probably  guessed,  it  is  not directly possible to draw
  502. circular  or  rounded  objects.  However,  since  each  area object can have
  503. approximately  250  points, you can get reasonably close to a rounded object
  504. by using more points spaced quite closely together.
  505.  
  506. 5)  Square Areas.
  507.     Drawing square or rectangular areas is much easier if you keep an eye on
  508. the coordinates in the  title bar. Presumably, if you are working out a real
  509. garden,  you will  have a reasonably  good idea of  what the  dimensions are
  510. going to be.  Funnily enough, it is more difficult to  draw these objects if
  511. you are just experimenting, as you will not have thought out beforehand what
  512. the dimensions are.
  513.  
  514. 6)  Plant distances.
  515.     The title bar coordinates also come in  useful for determining how close
  516. plants should  be to each other.  Bear in mind that with this version of the
  517. program, the  images on the plan do not  give you much idea  of how big  the
  518. real objects are.  This  means that if,  for example  you plant a  series of
  519. hedge  elements so  that the  symbols are  just  touching,  you  may  get  a
  520. perfect-looking hedge. However, depending on the scaling,  you may find that
  521. when it is drawn, it has gaps in it,  or that  the hedge plants are much too
  522. close together (meaning that it takes a lot longer to draw). Once again, you
  523. have to experiment to see what looks good.
  524.  
  525.                               6 - What's Next?
  526.                               ================
  527.  
  528.     The  version  of LandScape released here is almost unchanged from what I
  529. decided  to  write  several  months  ago.  At the time, I laid done a set of
  530. minimum  requirements  for  the  program  to  be  able  to  do.  These  were
  531. deliberately limited in the interests of having a stationary goalpost to aim
  532. at.  Since  then,  other  ideas  have also occurred to me. Possibilities for
  533. improvement and extension include:
  534. 1)  Making  the  program  self-install.  This  would  make things easier for
  535. people not familiar with using the CLI to copy any libraries, etc.
  536. 2)  The  garden  is currently constrained to be perfectly flat. Support will
  537. be  added  for  split levels and slopes. To be fair, all of the graphics and
  538. perspective  routines already support full 3D, it's just that I have not yet
  539. thought of a way of good way of representing them on the plan yet.
  540. 3)  The   list   of   available   objects   will  be  increased  to  include
  541. stones/paving/brickwork/walls/fences/ponds,  etc  plus  a greater variety of
  542. plant life. Object texturing is also being looked into.
  543. 4)  Currently  all  dimensions are metric (centimetres). I realise that this
  544. will  annoy  at  least one large continent, so imperial measurements will be
  545. included.
  546. 5)  Context-sensitive on-line help will be provided.
  547. 6)  Plan detail currently has to fit on one screen. Some sort of zoom/scroll
  548. facility is under consideration.
  549. 7)  Area  objects  are  currently only selectable by the corners, and plants
  550. only by the origin. This may be changed so that edge selection is allowed.
  551. 8)  Plan  symbols are currently fixed size. This will be changed so that the
  552. plant size and type is more obvious, and will also change to be proportional
  553. to the scale of the garden.
  554. 9)  Workbench  support  will  be  improved. Thus saved gardens and IFF files
  555. will  be  provided  with  icons.  In addition, the program will be much more
  556. configurable  from  the CLI and icon tooltypes. A good example of this would
  557. be with metric/imperial measurement selection.
  558. 10) Objects may be forced to be inside the garden boundary.
  559. 11) The  viewpoint  positioning  boxes  will  auto  repeat, making viewpoint
  560. selection a bit easier on the mouse.
  561. 12) All  of  the  floating point maths currently used during drawing will be
  562. changed to fixed point. This should speed up the drawing a lot.
  563. 13) The  algorithms  for  drawing  the  plants  will be further modified and
  564. refined, to make the plants more lifelike and realistic.
  565.  
  566.     Now  then, all of the above are just ideas. It is not definite that they
  567. will happen, and if they do, it may not necessarily all be at the same time.
  568. I  wrote  this program for a laugh, and to learn more about a great machine.
  569. If  you  find  that  what  I have done is interesting or useful, then that's
  570. icing on the cake. I will continue to work on this program as long as I feel
  571. someone  (whether  myself  or anyone else) is benefiting from it. The supply
  572. will try to respond to the demand.
  573.  
  574.                              7 - Technical Stuff
  575.                              ===================
  576.  
  577.     This section is intended for anyone who happens to be interested in some
  578. of LandScapes technical aspects.
  579.     LandScape  was  written  entirely  in C, and was developed using various
  580. versions  of the SAS (Lattice) C compiler. The final code was produced using
  581. version  5.10a.  LandScape uses a lot of recursion during the drawing phase,
  582. but  does  not  seem to go very deeply, as I have never seen it overflow the
  583. default  4000 byte stack. Nevertheless, as I cannot guarantee that this will
  584. never  happen,  I  have  left in SASs stack checking code. If the stack does
  585. overflow, you will get a requester warning you, and giving you the option to
  586. abort the program. Be aware that if you do this, you will not get any memory
  587. back  that was in use at the time, until rebooting. This is a side effect of
  588. the  SAS  code,  and  I  am not aware of any way I can regain control of the
  589. machine to free up the resources.
  590.     The  drawing  routines  make extensive use of floating point maths. This
  591. was  done  intentionally, as I wanted to make it work, before I made it work
  592. quickly.  I  may change this to fixed point maths, as the drawing speed is a
  593. little  slower  than  I  thought it was going to be. The Fast Floating Point
  594. libraries  are  used  at  runtime, which keeps the program size down nicely.
  595. Sorry  FPU  people,  but no support for you. I had originally written in FPU
  596. support via the IEEE runtime libraries, but on my machine (with a 68881 as a
  597. peripheral  processor,  NOT  a  coprocessor)  even  these were significantly
  598. slower  than  the  FFP  libraries,  and  I  had  no  real  use for the extra
  599. precision, so out the window they went.
  600.     Since  LandScape  was  written  in  C,  and  doesn't  to my knowledge do
  601. anything  nasty  to  the  machine,  I  believe  that  it  should work on all
  602. processors. However, I am unable to test this. I would be grateful if anyone
  603. with  access  to  such  machines  (particularly  the  A3000) would report on
  604. whether or not this is the case. Similarly, I have tried to make the program
  605. auto-configure to an NTSC screen, but this cannot be terribly well tested on
  606. a  PAL  machine.  On  the  odd  occasions that my machine boots with an NTSC
  607. screen  (the  well known bug), superficial testing seems to indicate that it
  608. works.
  609.     The  plants  in  LandScape are generated algorithmically at runtime. For
  610. each  plant  type, I have taken a basic form, and I then allow each plant to
  611. develop inside a set of constraints. The starting form, and constraints have
  612. been   picked   by  trial  and  error,  until  the  plant  started  to  look
  613. approximately  like  the  real  thing.  The  algorithms have a lot of random
  614. elements, and so every time you draw a garden, the plants will look slightly
  615. different.  Although things should average out, occasionally you get a badly
  616. lopsided  or  misshapen  plant.  This,  I  believe  mirrors  real  life! The
  617. algorithms are recursive, and to a certain extent sensitive to size, so that
  618. a  large  object  will  have  more  detail  than a small one. However, large
  619. objects  are  also  drawn more coarsely to speed up the drawing time (I hope
  620. that doesn't sound too self-contradictory).
  621.  
  622. Steve Goddard.
  623.